package com.heima.dao;

import com.heima.pojo.QueryVO;
import com.heima.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserDao {
    //创建模糊查询方法 传入参数模糊名字 得到User类型的集合
    List<User> findLikeCondition1(String name);
    //创建模糊查询方法进阶版 传入参数模糊名字
    List<User> findLikeCondition2(String name);
    //创建模糊查询方法进阶版 传入参数模糊名字
    List<User> findLikeCondition3(String name);

    //分页查询方法
    List<User> findByPage1(Integer startIndex,Integer pageSize);
    List<User> findByPage2(@Param("startIndex") Integer startIndex,@Param("pageSize")Integer pageSize);

    //多条件查询方法 传入封装好的QueryVO实体类对象
    List<User> findByQueryVO(QueryVO queryVO);
    //多条件查询方法 传入map集合
    List<User> findByMap(Map<String,Object> map);

    //获取自增后的主键
    void insert1(User user);
    //自动获取自增后的主键
    void insert2(User user);
    //查询最后一次新增生成的主键
    void insert3(User user);
    List<User> TopN(String n);
}
